package com.autoagent.ai_live_master.scriptGeneration.service;


import com.autoagent.ai_live_master.common.model.PageRequestVO;
import com.autoagent.ai_live_master.scriptGeneration.dto.ProductMaterialDTO;
import com.autoagent.ai_live_master.scriptGeneration.entity.ProductMaterialFile;
import com.autoagent.ai_live_master.scriptGeneration.entity.ProductMaterials;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;


public interface ProductMaterialsService {
    void addMaterial(ProductMaterialDTO uploadDTO);

    String searchProductMaterials(String query);

    /**
     * 分页获取当前用户的产品素材
     * @param userId 用户ID
     * @param pageNum 页码
     * @param pageSize 每页大小
     * @param keyword 搜索关键字，为空时不进行模糊匹配
     * @return 产品素材分页数据
     */
    Page<ProductMaterialFile> getDatasetsByUserId(Long userId, Integer pageNum, Integer pageSize, String keyword) throws Exception;

    void deleteMaterial(Long id) throws Exception;

    /**
     * 获取用户的所有产品资料
     * @param userId 用户ID
     * @return 产品资料列表
     */
    List<ProductMaterials> getProductMaterialsByUserId(Long userId);

    /**
     * 获取用户的产品资料内容（合并所有资料）
     * @param userId 用户ID
     * @return 合并后的产品资料内容
     */
    String getProductMaterialsContentByUserId(Long userId);
}